#ifndef _SYS_TIMEOUT_ERR_H_
#define _SYS_TIMEOUT_ERR_H_

#include "Err.h"
#include "SysTypes.h"

#define TIMEOUT_ERR_VTABLE(self)   ((TimeoutErrVTable*)((FanObj*)self)->vtable)


extern Type*    TimeoutErr_classType;
extern VTable*  TimeoutErr_classVTable;


/* [sys::TimeoutErr] Attributes */
struct TimeoutErr
{
  Err           super;
};


/* [sys::TimeoutErr] Virtual-table */
typedef struct TimeoutErrVTable
{
  ErrVTable     super;
} TimeoutErrVTable;


/* [sys::TimeoutErr] Methods and fields */
void            TimeoutErr_make_0(TimeoutErr* self);
void            TimeoutErr_make_1(TimeoutErr* self, Str* msg);
void            TimeoutErr_make(TimeoutErr* self, Str* msg, Err* cause);


/* [sys::TimeoutErr] Extra methods */
TimeoutErr*     TimeoutErr_new(Str* msg, Err* cause);
TimeoutErr*     TimeoutErr_newWithFormattedMsg(const char* msgFormat, ...);


/* [sys::TimeoutErr] Type-system functions */
Type*           TimeoutErr_initType(void);
VTable*         TimeoutErr_initVTable(void);
void            TimeoutErr_initStatic(void);


#endif
